<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSDP Help: D:/doxy/PublicAPI/ATGeometrySet/XTransform.h 源文件</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SSDP Help<span id="projectnumber">&#160;2.04.01</span>
   </div>
   <div id="projectbrief">仅供测试</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.3 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',false,false,'search.php','搜索');
});
/* @license-end */
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_52a01df1794e5beec01860bdd05aea48.html">PublicAPI</a></li><li class="navelem"><a class="el" href="../../dir_3ae1ea863de6943fe2c5c18439480f66.html">ATGeometrySet</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">XTransform.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span>BEGIN_ATEC_NAMESPACE</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html">   11</a></span><span class="keyword">struct </span>ATGEOSET_EXPORT <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span>    <span class="keywordtype">double</span> form3d[3][4];</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a465a966077cbce80df73a6749d156607">   25</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a465a966077cbce80df73a6749d156607">FromIdentity</a>();</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#aa8087bac370d87df07caaf310e94e100">   36</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#aa8087bac370d87df07caaf310e94e100">InitIdentity</a>();</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a6224aa3e7c6a52f0f6894799a112e5a9">   48</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a6224aa3e7c6a52f0f6894799a112e5a9">From</a>(XRotMatrixCR matrix);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a6f95c20087f9cc2f5c56ebb99bda443c">   60</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a6f95c20087f9cc2f5c56ebb99bda443c">InitFrom</a>(XRotMatrixCR matrix);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a77943cf5a2baf0926e36971a732105d3">   73</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a77943cf5a2baf0926e36971a732105d3">From</a>(XRotMatrixCR matrix, XPoint3dCR translation);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#abd40d57fa764ab57032959e3e1700f11">   86</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#abd40d57fa764ab57032959e3e1700f11">InitFrom</a>(XRotMatrixCR matrix, XPoint3dCR translation);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#aa98540b528ac5293cf29dbfaa2725496">   98</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#aa98540b528ac5293cf29dbfaa2725496">From</a>(XPoint3dCR translation);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#ad1b3898fa8ff6f8a4998d81ead0972ca">  110</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#ad1b3898fa8ff6f8a4998d81ead0972ca">InitFrom</a>(XPoint3dCR translation);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a10daf9b8896b6523a0352c66d23d2237">  123</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a10daf9b8896b6523a0352c66d23d2237">FromMatrixAndFixedPoint</a>(XRotMatrixCR matrix, XPoint3dCR origin);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#aeafc929440482446ff422f0aabc2d3f5">  136</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#aeafc929440482446ff422f0aabc2d3f5">InitFromMatrixAndFixedPoint</a>(XRotMatrixCR matrix, XPoint3dCR origin);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#afa507e680236dc1980ffcb1270ca75fe">  150</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#afa507e680236dc1980ffcb1270ca75fe">From</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#ab9b126fb52bf707630c648a7591443a3">  164</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#ab9b126fb52bf707630c648a7591443a3">InitFrom</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#ab0a3da773a8355ddd209c2ebe4081d7c">  179</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#ab0a3da773a8355ddd209c2ebe4081d7c">InitFromOriginAndVectors</a></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>    (</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>        XPoint3dCR      origin,</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>        XVec3dCR      xVector,</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>        XVec3dCR      yVector,</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>        XVec3dCR      zVector</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>    );</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a1c6a9c5157806e485ebcadf9cd9ac41d">  199</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a1c6a9c5157806e485ebcadf9cd9ac41d">InitFromOriginXVectorYVectorSquareAndNormalize</a></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>    (</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>        XPoint3dCR      origin,</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>        XVec3dCR      xVector,</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>        XVec3dCR      yVector</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    );</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a7f5bed88390ae98177cc8be8aae28ec3">  220</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a7f5bed88390ae98177cc8be8aae28ec3">InitFrom4Points</a></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>    (</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>        XPoint3dCR      origin,</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>        XPoint3dCR      xPoint,</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>        XPoint3dCR      yPoint,</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>        XPoint3dCR      zPoint</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>    );</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span> </div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a740303b66eaf73dc5f6817bbf71c9d29">  240</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a740303b66eaf73dc5f6817bbf71c9d29">InitFromOriginAndVectors</a>(XPoint2dCR origin, XVec2dR xVector, XVec2dR yVector);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a626befa8c7b5d59dfb8d4c0c33aa827b">  252</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a626befa8c7b5d59dfb8d4c0c33aa827b">InitFrom</a>(XMatrix4dCR matrix);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a4d846265d579219fa1da6588c21e5982">  264</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a4d846265d579219fa1da6588c21e5982">InverseOf</a>(TransformCR in);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#afd0036ebbff675dc83ba156e8962c712">  278</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#afd0036ebbff675dc83ba156e8962c712">FromLineAndRotationAngle</a>(XPoint3dCR pnt0, XPoint3dCR point1, <span class="keywordtype">double</span> radians);</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#ab5a44dd89ba427b33e36fe9487a3de77">  292</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#ab5a44dd89ba427b33e36fe9487a3de77">FromAxisAndRotationAngle</a>(XRay3dCR axis, <span class="keywordtype">double</span> radians, TransformR derivativeTransform);</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span> </div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a85fc627d2a395daeb1c649b63af0e9fb">  305</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a85fc627d2a395daeb1c649b63af0e9fb">FromAxisAndRotationAngle</a>(XRay3dCR axis, <span class="keywordtype">double</span> radians);</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span> </div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a12f88e082626fe63709333a145b5c97b">  320</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a12f88e082626fe63709333a145b5c97b">FromOriginAndVectors</a></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>    (</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>        XPoint3dCR      origin,</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>        XVec3dCR      xVector,</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>        XVec3dCR      yVector,</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span>        XVec3dCR      zVector</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span>    );</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a93b3b3170081782ac83640952c6db553">  341</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a93b3b3170081782ac83640952c6db553">From4Points</a></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>    (</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>        XPoint3dCR      origin,</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>        XPoint3dCR      xPoint,</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>        XPoint3dCR      yPoint,</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span>        XPoint3dCR      zPoint</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span>    );</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span> </div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a7d765d713301e534cd3d78d59e7eedd5">  362</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a7d765d713301e534cd3d78d59e7eedd5">FromFixedPointAndScaleFactors</a></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span>    (</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span>        XPoint3dCR      origin,</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>        <span class="keywordtype">double</span>          xScale,</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>        <span class="keywordtype">double</span>          yScale,</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span>        <span class="keywordtype">double</span>          zScale</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>    );</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a561b28d1d9611e71366851cdd2811e33">  381</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a561b28d1d9611e71366851cdd2811e33">InitFromMirrorPlane</a>(XPoint3dCR origin, XVec3dCR normal);</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span> </div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#aa762231ceb9b7945e217aa8e6e0301b3">  394</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#aa762231ceb9b7945e217aa8e6e0301b3">InitFromProjectionToPlane</a>(XPoint3dCR origin, XVec3dCR normal);</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span> </div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#ac25653f8cacb481870493007508fdc44">  407</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#ac25653f8cacb481870493007508fdc44">FromProduct</a>(TransformCR transformA, TransformCR transformB);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span> </div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a20bcd6910575d6af60cf1b09da2f6f19">  420</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a20bcd6910575d6af60cf1b09da2f6f19">InitProduct</a>(TransformCR transform1, TransformCR transform2);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span> </div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a87a93882a6e595913c7f22807bef010e">  434</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a87a93882a6e595913c7f22807bef010e">FromProduct</a>(TransformCR transformA, TransformCR transformB, TransformCR transformC);</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#ad97cb6596fd3996588c8e19d89d7b021">  447</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#ad97cb6596fd3996588c8e19d89d7b021">FromProduct</a>(XRotMatrixCR matrixA, TransformCR transformB);</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno">  448</span> </div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#adfb857f994ab58895747563c89324431">  460</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#adfb857f994ab58895747563c89324431">InitProduct</a>(XRotMatrixCR matrix, TransformCR transform);</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span> </div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a7451e693f38222d94be0d9c6f5784589">  473</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../dd/d69/struct_transform.html">Transform</a> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a7451e693f38222d94be0d9c6f5784589">FromProduct</a>(TransformCR transformA, XRotMatrixCR matrixB);</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span> </div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#af0a9373ac9f8b1b06cd9d9a2ba309e09">  486</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#af0a9373ac9f8b1b06cd9d9a2ba309e09">InitProduct</a>(TransformCR transform, XRotMatrixCR matrix);</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span> </div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  488</span>    <span class="keywordtype">void</span> GetOriginAndVectors(XPoint3dR origin, XVec3dR vector0, XVec3dR vector1, XVec3dR vector2) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  489</span> </div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span>    <span class="keywordtype">void</span> GetOriginAndVectors(XPoint2dR origin, XVec2dR vector0, XVec2dR vector1) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span> </div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span>    <span class="keywordtype">void</span> GetMatrix(XRotMatrixR matrix) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span> </div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span>    <span class="keywordtype">void</span> SetMatrix(XRotMatrixCR matrix);</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span> </div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span>    <span class="keywordtype">void</span> GetTranslation(XPoint3dR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span> </div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span>    <span class="keywordtype">void</span> SetTranslation(XPoint3dCR point);</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span> </div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span>    <span class="keywordtype">void</span> GetTranslation(XPoint2dR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span> </div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span>    <span class="keywordtype">void</span> SetTranslation(XPoint2dCR point);</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno">  503</span> </div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>    <span class="keywordtype">void</span> GetMatrixColumn(XVec3dR column, <span class="keywordtype">int</span> index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span> </div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</span>    <span class="keywordtype">void</span> SetMatrixColumn(XVec3dCR column, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span> </div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span>    <span class="keywordtype">void</span> SetMatrixRow(XVec3dCR row, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno">  509</span> </div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span>    <span class="keywordtype">bool</span> IsEqual(TransformCR transform2) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno">  511</span> </div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span>    <span class="keywordtype">bool</span> IsEqual(TransformCR transform2, <span class="keywordtype">double</span> matrixTol, <span class="keywordtype">double</span> pntTol) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span> </div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span>    <span class="keywordtype">void</span> Multiply(XPoint3dR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span> </div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno">  516</span>    <span class="keywordtype">void</span> Multiply(XPoint3dR result, XPoint3dCR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno">  517</span> </div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno">  518</span>    <span class="keywordtype">void</span> Multiply(XPoint3dR point, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno">  519</span> </div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>    <span class="keywordtype">void</span> Multiply(XPoint3dP pntArray, <span class="keywordtype">int</span> numPoint) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span> </div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span>    <span class="keywordtype">void</span> Multiply(XPoint3dP outPoint, XPoint3dCP inPoint, <span class="keywordtype">int</span> numPoint) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span> </div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span>    <span class="keywordtype">void</span> Multiply(XPoint2dR       result, XPoint2dCR      point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno">  525</span> </div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno">  526</span>    <span class="keywordtype">void</span> Multiply(XPoint2dP outPoint, XPoint2dCP inPoint, <span class="keywordtype">int</span> numPoint) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno">  527</span> </div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</span>    <span class="keywordtype">void</span> Multiply(XPoint3dR       result, XPoint2dCR      point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno">  529</span> </div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span>    <span class="keywordtype">void</span> Multiply(XPoint3dP outPoint, XPoint2dCP inPoint, <span class="keywordtype">int</span> numPoint) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno">  531</span> </div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span>    <span class="keywordtype">void</span> Multiply(XPoint2dR       result, XPoint3dCR      point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno">  533</span> </div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno">  534</span>    <span class="keywordtype">void</span> Multiply(XPoint2dP outPoint, XPoint3dCP inPoint, <span class="keywordtype">int</span> numPoint) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span> </div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#abab69ca121c92fa8b4b17ef80eb0915b">  547</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#abab69ca121c92fa8b4b17ef80eb0915b">Solve</a>(XPoint3dR outPoint, XPoint3dCR inPoint) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span> </div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#acac95e1340ca4e0732ec7e7cea83e507">  561</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#acac95e1340ca4e0732ec7e7cea83e507">SolveArray</a>(XPoint3dP outPoint, XPoint3dCP inPoint, <span class="keywordtype">int</span> numPoints) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno">  562</span> </div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a0be7bdef9ce7e9089b58bd56e98e0a25">  573</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a0be7bdef9ce7e9089b58bd56e98e0a25">MultiplyMatrixOnly</a>(XPoint3dR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno">  574</span> </div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno">  575</span>    <span class="keywordtype">void</span> Multiply</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno">  576</span>    (</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno">  577</span>        XRange3dR       outRange,</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span>        XRange3dCR      inRange</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span> </div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span>    <span class="keywordtype">void</span> Multiply(XEllipse3dR inoutEllipse) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span> </div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span>    <span class="keywordtype">void</span> Multiply(XEllipse3dR outEllipse, XEllipse3dCR inEllipse) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span>    <span class="keywordtype">bool</span> Multiply(XPlane3dR inoutPlane) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span> </div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno">  587</span>    <span class="keywordtype">bool</span> Multiply(XPlane3dR outPlane, XPlane3dCR inPlane) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno">  588</span> </div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span>    <span class="keywordtype">void</span> Multiply(XSegment3dR inoutSeg) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno">  590</span> </div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span>    <span class="keywordtype">void</span> Multiply(XSegment3dR outSeg, XSegment3dCR inSeg) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno">  592</span> </div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno">  593</span>    <span class="keywordtype">void</span> Multiply(XRay3dR inoutRay) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno">  594</span> </div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno">  595</span>    <span class="keywordtype">void</span> Multiply(XRay3dR outRay, XRay3dCR inRay) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span> </div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno">  597</span>    <span class="keywordtype">void</span> Multiply(xvector&lt;XPoint4d&gt; &amp;xyzwOut, xvector&lt;XPoint4d&gt; <span class="keyword">const</span> &amp;xyzwIn) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno">  598</span> </div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno">  599</span>    <span class="keywordtype">void</span> Multiply(xvector&lt;XPoint3d&gt; &amp;xyzOut, xvector&lt;XPoint3d&gt; <span class="keyword">const</span> &amp;xyzIn) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno">  600</span> </div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span>    <span class="keywordtype">void</span> Multiply(xvector&lt;XPoint2d&gt; &amp;xyOut, xvector&lt;XPoint2d&gt; <span class="keyword">const</span> &amp;xyIn) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span> </div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span>    <span class="keywordtype">void</span> Multiply(xvector&lt;XPoint3d&gt; &amp;xyzOut, xvector&lt;XPoint2d&gt; <span class="keyword">const</span> &amp;xyIn) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno">  605</span>    <span class="keywordtype">void</span> Multiply(xvector&lt;XPoint2d&gt; &amp;xyOut, xvector&lt;XPoint3d&gt; <span class="keyword">const</span> &amp;xyzIn) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno">  606</span> </div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</span> </div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span> </div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#acd8e6d89b67bfb8cd41b24a8c2d9056f">  620</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#acd8e6d89b67bfb8cd41b24a8c2d9056f">SolveArray</a>(xvector&lt;XPoint3d&gt;&amp;xyzOut, xvector&lt;XPoint3d&gt;<span class="keyword">const</span> &amp;xyzIn) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  621</span> </div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a6c9bb057b5c707e361aaeb01dfcc3122">  631</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a6c9bb057b5c707e361aaeb01dfcc3122">IsIdentity</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span> </div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a36591862d4f4cc3b9cee1f516f1ee57f">  646</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a36591862d4f4cc3b9cee1f516f1ee57f">ScaleMatrixColumns</a></div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span>    (</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span>        TransformCR     transform,</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span>        <span class="keywordtype">double</span>          xscale,</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span>        <span class="keywordtype">double</span>          yscale,</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span>        <span class="keywordtype">double</span>          zscale</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno">  652</span>    );</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span> </div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#aed6104c1f2537f40601bf750d38615f5">  666</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#aed6104c1f2537f40601bf750d38615f5">ScaleMatrixColumns</a></div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno">  667</span>    (</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno">  668</span>        <span class="keywordtype">double</span>         xscale,</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno">  669</span>        <span class="keywordtype">double</span>         yscale,</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno">  670</span>        <span class="keywordtype">double</span>         zscale</div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span>    );</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno">  672</span> </div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"><a class="line" href="../../dd/d69/struct_transform.html#a124a131a7eb8e3c8ab90bed83a349ea1">  686</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d69/struct_transform.html#a124a131a7eb8e3c8ab90bed83a349ea1">ScaleMatrixRows</a></div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno">  687</span>    (</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno">  688</span>    TransformCR     transform,</div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno">  689</span>    <span class="keywordtype">double</span>          xscale,</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno">  690</span>    <span class="keywordtype">double</span>          yscale,</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span>    <span class="keywordtype">double</span>          zscale</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno">  692</span>    );</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span> </div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span> </div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno">  695</span>};</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno">  696</span> </div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno">  697</span>END_ATEC_NAMESPACE</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span> </div>
<div class="ttc" id="astruct_transform_html"><div class="ttname"><a href="../../dd/d69/struct_transform.html">Transform</a></div><div class="ttdoc">大小为3*4的变换矩阵</div><div class="ttdef"><b>Definition:</b> XTransform.h:12</div></div>
<div class="ttc" id="astruct_transform_html_a0be7bdef9ce7e9089b58bd56e98e0a25"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a0be7bdef9ce7e9089b58bd56e98e0a25">Transform::MultiplyMatrixOnly</a></div><div class="ttdeci">void MultiplyMatrixOnly(XPoint3dR point) const</div><div class="ttdoc">仅与矩阵相乘</div></div>
<div class="ttc" id="astruct_transform_html_a10daf9b8896b6523a0352c66d23d2237"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a10daf9b8896b6523a0352c66d23d2237">Transform::FromMatrixAndFixedPoint</a></div><div class="ttdeci">static Transform FromMatrixAndFixedPoint(XRotMatrixCR matrix, XPoint3dCR origin)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a124a131a7eb8e3c8ab90bed83a349ea1"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a124a131a7eb8e3c8ab90bed83a349ea1">Transform::ScaleMatrixRows</a></div><div class="ttdeci">void ScaleMatrixRows(TransformCR transform, double xscale, double yscale, double zscale)</div><div class="ttdoc">按行缩放矩阵列</div></div>
<div class="ttc" id="astruct_transform_html_a12f88e082626fe63709333a145b5c97b"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a12f88e082626fe63709333a145b5c97b">Transform::FromOriginAndVectors</a></div><div class="ttdeci">static Transform FromOriginAndVectors(XPoint3dCR origin, XVec3dCR xVector, XVec3dCR yVector, XVec3dCR zVector)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a1c6a9c5157806e485ebcadf9cd9ac41d"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a1c6a9c5157806e485ebcadf9cd9ac41d">Transform::InitFromOriginXVectorYVectorSquareAndNormalize</a></div><div class="ttdeci">bool InitFromOriginXVectorYVectorSquareAndNormalize(XPoint3dCR origin, XVec3dCR xVector, XVec3dCR yVector)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a20bcd6910575d6af60cf1b09da2f6f19"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a20bcd6910575d6af60cf1b09da2f6f19">Transform::InitProduct</a></div><div class="ttdeci">void InitProduct(TransformCR transform1, TransformCR transform2)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a36591862d4f4cc3b9cee1f516f1ee57f"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a36591862d4f4cc3b9cee1f516f1ee57f">Transform::ScaleMatrixColumns</a></div><div class="ttdeci">void ScaleMatrixColumns(TransformCR transform, double xscale, double yscale, double zscale)</div><div class="ttdoc">按列缩放矩阵列</div></div>
<div class="ttc" id="astruct_transform_html_a465a966077cbce80df73a6749d156607"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a465a966077cbce80df73a6749d156607">Transform::FromIdentity</a></div><div class="ttdeci">static Transform FromIdentity()</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a4d846265d579219fa1da6588c21e5982"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a4d846265d579219fa1da6588c21e5982">Transform::InverseOf</a></div><div class="ttdeci">bool InverseOf(TransformCR in)</div><div class="ttdoc">XMatrix4dCR</div></div>
<div class="ttc" id="astruct_transform_html_a561b28d1d9611e71366851cdd2811e33"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a561b28d1d9611e71366851cdd2811e33">Transform::InitFromMirrorPlane</a></div><div class="ttdeci">bool InitFromMirrorPlane(XPoint3dCR origin, XVec3dCR normal)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a6224aa3e7c6a52f0f6894799a112e5a9"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a6224aa3e7c6a52f0f6894799a112e5a9">Transform::From</a></div><div class="ttdeci">static Transform From(XRotMatrixCR matrix)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a626befa8c7b5d59dfb8d4c0c33aa827b"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a626befa8c7b5d59dfb8d4c0c33aa827b">Transform::InitFrom</a></div><div class="ttdeci">bool InitFrom(XMatrix4dCR matrix)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a6c9bb057b5c707e361aaeb01dfcc3122"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a6c9bb057b5c707e361aaeb01dfcc3122">Transform::IsIdentity</a></div><div class="ttdeci">bool IsIdentity() const</div><div class="ttdoc">是否单位变换</div></div>
<div class="ttc" id="astruct_transform_html_a6f95c20087f9cc2f5c56ebb99bda443c"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a6f95c20087f9cc2f5c56ebb99bda443c">Transform::InitFrom</a></div><div class="ttdeci">void InitFrom(XRotMatrixCR matrix)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a740303b66eaf73dc5f6817bbf71c9d29"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a740303b66eaf73dc5f6817bbf71c9d29">Transform::InitFromOriginAndVectors</a></div><div class="ttdeci">void InitFromOriginAndVectors(XPoint2dCR origin, XVec2dR xVector, XVec2dR yVector)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a7451e693f38222d94be0d9c6f5784589"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a7451e693f38222d94be0d9c6f5784589">Transform::FromProduct</a></div><div class="ttdeci">static Transform FromProduct(TransformCR transformA, XRotMatrixCR matrixB)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a77943cf5a2baf0926e36971a732105d3"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a77943cf5a2baf0926e36971a732105d3">Transform::From</a></div><div class="ttdeci">static Transform From(XRotMatrixCR matrix, XPoint3dCR translation)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a7d765d713301e534cd3d78d59e7eedd5"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a7d765d713301e534cd3d78d59e7eedd5">Transform::FromFixedPointAndScaleFactors</a></div><div class="ttdeci">static Transform FromFixedPointAndScaleFactors(XPoint3dCR origin, double xScale, double yScale, double zScale)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a7f5bed88390ae98177cc8be8aae28ec3"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a7f5bed88390ae98177cc8be8aae28ec3">Transform::InitFrom4Points</a></div><div class="ttdeci">void InitFrom4Points(XPoint3dCR origin, XPoint3dCR xPoint, XPoint3dCR yPoint, XPoint3dCR zPoint)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_a85fc627d2a395daeb1c649b63af0e9fb"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a85fc627d2a395daeb1c649b63af0e9fb">Transform::FromAxisAndRotationAngle</a></div><div class="ttdeci">static Transform FromAxisAndRotationAngle(XRay3dCR axis, double radians)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a87a93882a6e595913c7f22807bef010e"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a87a93882a6e595913c7f22807bef010e">Transform::FromProduct</a></div><div class="ttdeci">static Transform FromProduct(TransformCR transformA, TransformCR transformB, TransformCR transformC)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_a93b3b3170081782ac83640952c6db553"><div class="ttname"><a href="../../dd/d69/struct_transform.html#a93b3b3170081782ac83640952c6db553">Transform::From4Points</a></div><div class="ttdeci">static Transform From4Points(XPoint3dCR origin, XPoint3dCR xPoint, XPoint3dCR yPoint, XPoint3dCR zPoint)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_aa762231ceb9b7945e217aa8e6e0301b3"><div class="ttname"><a href="../../dd/d69/struct_transform.html#aa762231ceb9b7945e217aa8e6e0301b3">Transform::InitFromProjectionToPlane</a></div><div class="ttdeci">bool InitFromProjectionToPlane(XPoint3dCR origin, XVec3dCR normal)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_aa8087bac370d87df07caaf310e94e100"><div class="ttname"><a href="../../dd/d69/struct_transform.html#aa8087bac370d87df07caaf310e94e100">Transform::InitIdentity</a></div><div class="ttdeci">void InitIdentity()</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_aa98540b528ac5293cf29dbfaa2725496"><div class="ttname"><a href="../../dd/d69/struct_transform.html#aa98540b528ac5293cf29dbfaa2725496">Transform::From</a></div><div class="ttdeci">static Transform From(XPoint3dCR translation)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_ab0a3da773a8355ddd209c2ebe4081d7c"><div class="ttname"><a href="../../dd/d69/struct_transform.html#ab0a3da773a8355ddd209c2ebe4081d7c">Transform::InitFromOriginAndVectors</a></div><div class="ttdeci">void InitFromOriginAndVectors(XPoint3dCR origin, XVec3dCR xVector, XVec3dCR yVector, XVec3dCR zVector)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_ab5a44dd89ba427b33e36fe9487a3de77"><div class="ttname"><a href="../../dd/d69/struct_transform.html#ab5a44dd89ba427b33e36fe9487a3de77">Transform::FromAxisAndRotationAngle</a></div><div class="ttdeci">static Transform FromAxisAndRotationAngle(XRay3dCR axis, double radians, TransformR derivativeTransform)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_ab9b126fb52bf707630c648a7591443a3"><div class="ttname"><a href="../../dd/d69/struct_transform.html#ab9b126fb52bf707630c648a7591443a3">Transform::InitFrom</a></div><div class="ttdeci">void InitFrom(double x, double y, double z)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_abab69ca121c92fa8b4b17ef80eb0915b"><div class="ttname"><a href="../../dd/d69/struct_transform.html#abab69ca121c92fa8b4b17ef80eb0915b">Transform::Solve</a></div><div class="ttdeci">bool Solve(XPoint3dR outPoint, XPoint3dCR inPoint) const</div><div class="ttdoc">反解旋转点</div></div>
<div class="ttc" id="astruct_transform_html_abd40d57fa764ab57032959e3e1700f11"><div class="ttname"><a href="../../dd/d69/struct_transform.html#abd40d57fa764ab57032959e3e1700f11">Transform::InitFrom</a></div><div class="ttdeci">void InitFrom(XRotMatrixCR matrix, XPoint3dCR translation)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_ac25653f8cacb481870493007508fdc44"><div class="ttname"><a href="../../dd/d69/struct_transform.html#ac25653f8cacb481870493007508fdc44">Transform::FromProduct</a></div><div class="ttdeci">static Transform FromProduct(TransformCR transformA, TransformCR transformB)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_acac95e1340ca4e0732ec7e7cea83e507"><div class="ttname"><a href="../../dd/d69/struct_transform.html#acac95e1340ca4e0732ec7e7cea83e507">Transform::SolveArray</a></div><div class="ttdeci">bool SolveArray(XPoint3dP outPoint, XPoint3dCP inPoint, int numPoints) const</div><div class="ttdoc">反解旋转点数组</div></div>
<div class="ttc" id="astruct_transform_html_acd8e6d89b67bfb8cd41b24a8c2d9056f"><div class="ttname"><a href="../../dd/d69/struct_transform.html#acd8e6d89b67bfb8cd41b24a8c2d9056f">Transform::SolveArray</a></div><div class="ttdeci">bool SolveArray(xvector&lt; XPoint3d &gt; &amp;xyzOut, xvector&lt; XPoint3d &gt;const &amp;xyzIn) const</div><div class="ttdoc">反解旋转点数组</div></div>
<div class="ttc" id="astruct_transform_html_ad1b3898fa8ff6f8a4998d81ead0972ca"><div class="ttname"><a href="../../dd/d69/struct_transform.html#ad1b3898fa8ff6f8a4998d81ead0972ca">Transform::InitFrom</a></div><div class="ttdeci">void InitFrom(XPoint3dCR translation)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_ad97cb6596fd3996588c8e19d89d7b021"><div class="ttname"><a href="../../dd/d69/struct_transform.html#ad97cb6596fd3996588c8e19d89d7b021">Transform::FromProduct</a></div><div class="ttdeci">static Transform FromProduct(XRotMatrixCR matrixA, TransformCR transformB)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_adfb857f994ab58895747563c89324431"><div class="ttname"><a href="../../dd/d69/struct_transform.html#adfb857f994ab58895747563c89324431">Transform::InitProduct</a></div><div class="ttdeci">void InitProduct(XRotMatrixCR matrix, TransformCR transform)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_aeafc929440482446ff422f0aabc2d3f5"><div class="ttname"><a href="../../dd/d69/struct_transform.html#aeafc929440482446ff422f0aabc2d3f5">Transform::InitFromMatrixAndFixedPoint</a></div><div class="ttdeci">void InitFromMatrixAndFixedPoint(XRotMatrixCR matrix, XPoint3dCR origin)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_aed6104c1f2537f40601bf750d38615f5"><div class="ttname"><a href="../../dd/d69/struct_transform.html#aed6104c1f2537f40601bf750d38615f5">Transform::ScaleMatrixColumns</a></div><div class="ttdeci">void ScaleMatrixColumns(double xscale, double yscale, double zscale)</div><div class="ttdoc">按列缩放矩阵列</div></div>
<div class="ttc" id="astruct_transform_html_af0a9373ac9f8b1b06cd9d9a2ba309e09"><div class="ttname"><a href="../../dd/d69/struct_transform.html#af0a9373ac9f8b1b06cd9d9a2ba309e09">Transform::InitProduct</a></div><div class="ttdeci">void InitProduct(TransformCR transform, XRotMatrixCR matrix)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_transform_html_afa507e680236dc1980ffcb1270ca75fe"><div class="ttname"><a href="../../dd/d69/struct_transform.html#afa507e680236dc1980ffcb1270ca75fe">Transform::From</a></div><div class="ttdeci">static Transform From(double x, double y, double z)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_transform_html_afd0036ebbff675dc83ba156e8962c712"><div class="ttname"><a href="../../dd/d69/struct_transform.html#afd0036ebbff675dc83ba156e8962c712">Transform::FromLineAndRotationAngle</a></div><div class="ttdeci">static Transform FromLineAndRotationAngle(XPoint3dCR pnt0, XPoint3dCR point1, double radians)</div><div class="ttdoc">创建函数</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>
